package com.safeneeds.linguimana.ser;

import java.util.List;

import com.safeneeds.linguimana.entity.EntityPortNews;
import com.safeneeds.linguimana.entity.PortNewsCate;
import com.safeneeds.linguimana.entity.PortNewsCateMap;
import com.safeneeds.util.base.IUserInfo;
import com.safeneeds.util.base.RetType;

/**
 * 门户网站后台新闻管理
 * @author gaof
 * @date 2017年2月7日
 */
public interface IBgNewsCateService {

	/**
	 * 获取新闻类分类列表
	 * @return
	 */
	public RetType listNewsCate();

	/**
	 * 添加/编辑新闻分类
	 * @param cate
	 * @param userInfo 
	 * @return
	 */
	public RetType addNewsCate(PortNewsCate cate, IUserInfo userInfo);

	/**
	 * 删除新闻分类
	 * @param id
	 * @return
	 */
	public RetType delNewsCate(String id);

	/**
	 * 获取所有分类下的所有子分类
	 * @param cate
	 * @param cateList
	 */
	public void getAllChildCate(PortNewsCate cate, List<PortNewsCate> cateList);

	/**
	 * 通过分类id获取分类
	 * @param cateId
	 * @return
	 */
	public PortNewsCate getNewsCateById(String cateId);

	/**
	 * 通过新闻id获取新闻对应分类
	 * @param newsId
	 * @return
	 */
	public List<PortNewsCateMap> getNewsCateByNewsId(String newsId);

	/**
	 * 通过新闻id获取新闻分类信息
	 * @param newsId
	 * @return
	 */
	public List<EntityPortNews> getNewsCateMapNameList(String newsId);
	/**
	 *获取置顶新闻分类信息
	 * @return
	 */
	public List listNewsCate_1(int i);
	/**
	 *获取置中新闻分类信息
	 *@param i 个数
	 *@return
	 */
	public List listNewsCate_2(int i);
	/**
	 * 获取新闻分类专题栏目
	 * @param i 个数
	 * @param name 分类栏目
	 * @return
	 */
	public List getSpecialCate(int i,String name);
	/**
	 * 获取子栏目对象
	 * @param fi 父类个数
	 * @param ci 子类个数
	 * @return
	 */
	public List<List<PortNewsCate>> getChildCate(int fi,int ci);


}
